// 导入依赖的模块
yepjs.require("jquery");
yepjs.require("YBA.Common");
yepjs.require("YBA.Plugin.plugins");
yepjs.require("YBA.Data.Statistics");

// 用户管理 - 新增或修改用户信息
yepjs.define("behaviors", {

	NS : "YBA.Logic.Statistics",

	field : function() {

		var Biz = {
			// 初始化事件
			init : function() {
				Biz.fn.getList(function(json){
					// 设置初始列表项目的数量，创建分页控件需要使用该数量
                    Biz.vars.totalNum = json.page.totalRecord;
                    
                    for ( var i in Biz.event) {
    					Biz.event[i]();
    				}
				});
			},
			// 公共变量
			vars : {
				// 模板列表
				tpl : (function() {
					var tpl = {};
					$("script[type='text/ysmart']").each(function() {
						var t = $(this);
						tpl[t.attr("data-name")] = t.html();
					});
					return tpl;
				})(),
				searchVar : {
					startPos : 1,
					pageSize : 20,
				},
				// 列表项目的总数量
                totalNum: 100,
                // 分页控件引用
                pageCtrl: null
			},
			// 页面元素
			el : {
				behavitorList : $("#j-behavitorList"),
				jtotalNum: $("#j-totalNum"),
				jpage: $("#j-page")

			},
			// 功能函数集合
			fn : {
				// 读取终端列表
				getList : function(callback) {
					YBA.Data.Statistics.getUserBehaviorsList(Biz.vars.searchVar,
							function(json) {
								if (json.code == 200) {
									for(var i in json.objList){
										json.objList[i].beginTime = Biz.fn.dateFormart(json.objList[i].beginTime);
									}
									Biz.el.behavitorList.html(YBA.Common.ysmart(Biz.vars.tpl.behavitorTpl,json.objList));
									Biz.el.jtotalNum.html(json.page.totalRecord);
									
									callback && callback(json);
								} else {
									YBA.Plugin.msgtip({
										type : "i",
										msg : "请求日志错误"
									});
								}
							}, function(err) {
								YBA.Plugin.msgtip({
									type : "i",
									msg : JSON.stringify(err)
								})
							});
				},
			
				//时间格式转换
				dateFormart : function(time){
					Date.prototype.format = function(format) {
				        var date = {
				               "M+": this.getMonth() + 1,
				               "d+": this.getDate(),
				               "h+": this.getHours(),
				               "m+": this.getMinutes(),
				               "s+": this.getSeconds(),
				               "q+": Math.floor((this.getMonth() + 3) / 3),
				               "S+": this.getMilliseconds()
				        };
				        if (/(y+)/i.test(format)) {
				               format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
				        }
				        for (var k in date) {
				               if (new RegExp("(" + k + ")").test(format)) {
				                      format = format.replace(RegExp.$1, RegExp.$1.length == 1
				                             ? date[k] : ("00" + date[k]).substr(("" + date[k]).length));
				               }
				        }
				        return format;
				 	}
		    		return new Date(time).format('yyyy-MM-dd h:m:s');
				},
			},
			// 初始化时执行的所有事件
			event : {
				// 分页
                pageNav: function () {
                    // 创建分页控件
                    Biz.vars.pageCtrl = new YBA.Plugin.pageNav({
                        // 放置分页控件的容器
                        pageCon: Biz.el.jpage,
                        // 每页数量
                        pageSize: Biz.vars.searchVar.pageSize,
                        // 总数量
                        totalNum: Biz.vars.totalNum,
                        // 回调函数
                        callback: function (pageIndex) {
                            // 设置页次
                            Biz.vars.searchVar.startPos = pageIndex;
                            // 执行搜索
                            Biz.fn.getList();
                        }
                    });
                }
			}
		}
		
		Biz.init();

		return Biz;
	}
});
